package com.td.module.produce.controller.admin.info.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.td.framework.excel.core.annotations.DictFormat;
import com.td.framework.excel.core.convert.DictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;


/**
 * 生产管理基础信息 Excel VO
 *
 * @author 吴佰强
 */
@Data
public class InfoExcelVO {

    @ExcelProperty("主键id")
    private Long id;

    @ExcelProperty(value = "作物种类", converter = DictConvert.class)
    @DictFormat("produce_info_crop_specie") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer cropSpecie;

    @ExcelProperty("作物品种")
    private String cropVarieties;

    @ExcelProperty("地块编码")
    private String landCode;

    @ExcelProperty("种植面积")
    private BigDecimal plantArea;

    @ExcelProperty("种子名称")
    private String seedName;

    @ExcelProperty("使用量（袋）")
    private Integer usage;

    @ExcelProperty("生产模型二级id")
    private Long growthId;

    @ExcelProperty(value = "种植标准", converter = DictConvert.class)
    @DictFormat("planting_standard_type") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer plantStandards;

    @ExcelProperty(value = "种植环境", converter = DictConvert.class)
    @DictFormat("planting_environment_type") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer plantEnvironment;

    @ExcelProperty("种植时间")
    private LocalDateTime plantTime;

    @ExcelProperty("采收时间")
    private LocalDateTime harvestTime;

    @ExcelProperty("定植时间")
    private LocalDateTime colonizationTime;

    @ExcelProperty(value = "种植状态", converter = DictConvert.class)
    @DictFormat("planting_status") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer plantStatus;

    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
